home *** CD-ROM | disk | FTP | other *** search
/ HamCall (April 1991) / HAMCALL CD-ROM (Buckmaster)(April 1991).BIN / amateur / code / cwxcrv / cw.doc < prev    next >
Text File  |  1990-10-14  |  24KB  |  485 lines

  1.  
  2.                    Morse Code Transceiver Version 1.0 MS-DOS
  3.  
  4.  
  5. INTRODUCTION 
  6.  
  7.         Morse Code Transceiver Version 1.0 MS-DOS is an assembly language 
  8. program for use on IBM PC, XT, AT and Compatibles running the MS-DOS Version 2 
  9. or above. Both monochrome and color monitors are supported. This program was 
  10. developed for use by Amateur Radio operators or others who need a program that 
  11. is capable of both sending and receiving morse code over a wide range of code 
  12. speeds and operating conditions. Many powerful convenience features are 
  13. incorporated enhancing station operation in the CW mode together with ease of 
  14. operation. 
  15.  
  16.         Morse Code Transceiver Version 1.0 MS-DOS is Shareware therefore under 
  17. the conditions that it is not modified and a fee is not charged it may be 
  18. copied and distribution to others is encouraged. 
  19.  
  20. ******* DISCLAIMER:--- No liability assumed. --- No warrenty implied. ******* 
  21.  
  22. AUTHOR 
  23.  
  24. Robert R Anderson, K2BJG 69 Page Drive Oakland, New Jersey  07436 
  25.  
  26. Phone: 201-337-7858 or 337-9644 
  27.  
  28.  
  29. STATION INTERFACE 
  30.  
  31.         Morse Code Transceiver receive input data, transmit output data and a 
  32. transmit control output signal are at RS 232C level via serial port 1 or 2.  
  33. External hardware interface equipment is required to demodulate and translate 
  34. CW audio signals from the station receiver to RS 232C level for input to the 
  35. computer and to translate RS 232C level TX CW keying and TX control signals 
  36. from the computer to that required by the station transmitter. A negative 
  37. level is 'off' and a positive level is 'on' for all signals. 
  38.  
  39.         Pin  1          Protective Ground 
  40.         Pin  4  (rts)   R/T Transmitter Control 
  41.         Pin  5  (cts)   CW Receive Input 
  42.         Pin  7          Signal Ground 
  43.         Pin 20  (dtr)   CW Transmit Output 
  44.  
  45.         Commercial computer interfaces such as the MFJ 1224 are currently 
  46. available and will work with this program. For those who want to "roll their 
  47. own" a suitable unit can easily be constructed using parts readily available 
  48. from such retail electronic parts suppliers as Radio Shack. To aid in the 
  49. design of a suitable CW computer interface unit the following guide lines 
  50. should be followed. Detail circuit design information and practical examples 
  51. can be found in the ARRL Radio Amateurs Handbook. 
  52.  
  53.         The transmit channels of the interface unit consisting of the transmit 
  54. CW data from pin 20 and the transmit control signal from pin 4 should be 
  55. translated from RS 232 level to TTL level by use two sections of a MC1489 RS 
  56. 232 Quad Line Receiver. The CW keying TTL signal must then interface to the 
  57. station transmitter. The circuit required to accomplish this depends on the 
  58. requirements of the transmitter. Older transmitters using grid block keying of 
  59. tubes will probably require what is called negative keying where a key up 
  60. relative high negative voltage of as much as 50 to 150 volts is seen and key 
  61. down current of a few miliampers is required. Late model solid state 
  62. transmitters will probably require what is called positive keying where a key 
  63. up relative low positive voltage of about 20 volts is seen and key down 
  64. current of a few miliampers is required. A single transistor of suitable 
  65. voltage rating and polarity will do the job however if your interface needs to 
  66. be universal then a dual transistor circuit to handle both types of keying 
  67. should be used.  
  68.  
  69.         Interface of the TTL transmit control signal to the transmitter PTT 
  70. line is not required if transmitter VOX circuits will do the job for your 
  71. operating technique. It is however better to use this signal since VOX delays 
  72. can cause problems at low keying speeds or when quick break in is desired. 
  73. Also this control signal is necessary to hold the transmitter on during a 
  74. pause between characters if operating in manual TX to RX program mode. A 
  75. single transistor of suitable voltage rating and polarity and able to handle 
  76. the required current will do the job. 
  77.  
  78.         The receive channel of the interface unit should consist of an audio 
  79. bandpass filter, a demodulator with a low pass filter and a level translator 
  80. to furnish input RS 232 level receive data to pin 5. 
  81.  
  82.         The band pass filter function can be accomplished with one or more 
  83. operational amplifiers configured as active filters. The center operating 
  84. frequency should match your receivers CW beat frequency offset. This is 
  85. usually about 800 to 1000 Hz for most amateur receivers. The bandwidth should 
  86. be about 100 to 200 Hz. 
  87.  
  88.          The demodulator can be a simple diode detector followed by a low pass 
  89. active filter with a cutoff frequency of approximately 75 Hz. A better method 
  90. is the use of a phase lock loop decoder tuned to the same frequency as the 
  91. audio filter. 
  92.  
  93.          Level translation of the signal from the demodulator to RS 232 level 
  94. is best accomplished by using one section of a MC1488 RS 232 Quad Line 
  95. Driver.                   
  96.  
  97.  
  98. PROGRAM INITIALIZATION 
  99.  
  100.         The Morse Code Transceiver program CW.EXE and if they exist it's 
  101. associated configuration or data files CW.CNF, CW_KCS.DAT, CW_MSG and 
  102. CW_FXS.OVL must to be successfully loaded be located in the same directory on 
  103. the default disk drive. 
  104.         The program is started by typing CW at the DOS prompt. Initial checks 
  105. of the DOS version and current video mode are made. The program is terminated 
  106. with an error message if the DOS version is not 2.0 or above or if the video 
  107. mode is other than 80 X 25 TEXT - color mode 2 BW80, color mode 3 CO80 or mode 
  108. 7 MONO. 
  109.         At this point only the main program CW.EXE has been loaded. It 
  110. contains all required default configuration data.  Next if it is found the 
  111. configuration file CW.CNF is read from the default disk drive replacing the 
  112. default configuration data. If the configuration file is not found an error 
  113. message is displayed.   
  114. 2
  115.         The default or config file configuration data mow in memory includes 
  116. color video attribute data to be used for color display. The current video 
  117. mode is again checked. If it is mode 3 CO80 no action is taken. If it is mode 
  118. 2 BW80 or mode 7 MONO then black/white attributes for normal and the reverse 
  119. video used for the status line replace the existing video attribute data.   
  120. Note - The DOS mode command can be used prior to starting CW to select the 
  121. desired video mode. 
  122.         The data files CW_KCS.DAT (key character sequences) and CW_MSG.DAT (10 
  123. messages) are loaded if they are found. If they are not found error messages 
  124. are displayed. 
  125.         The fixed TX speed overlay file if found is loaded replacing default 
  126. fixed TX speed data. A message is displayed indicating that it is or is not 
  127. loaded. 
  128.         At this point the operator is prompted to see if initialization should 
  129. continue. Pressing (ESC) will cause an immediate return to DOS. Any other key 
  130. will cause program initialization to continue. Upon initialization completion 
  131. the operating screen is displayed and the bell will sound indicating ready to 
  132. start. 
  133.  
  134.  
  135. DEFAULT CONFIGURATION and THE CONFIGURATION FILE (CW.CNF) 
  136.  
  137.         The main program CW.EXE contains default configuration data. It can 
  138. operate without reading the configuration file CW.CNF. It has the means to set 
  139. all variables contained in the configuration file which can be created or 
  140. updated as an option during program exit. The configuration file if it exist 
  141. on the default drive is read during program initialization replacing default 
  142. configuration data. 
  143.         The following program variables are included in the configuration file 
  144. CW.CNF and the default values contained in the main program CW.EXE are 
  145. indicated: 
  146.  
  147.         Variable                        Default 
  148.  
  149.         I/O Port                        03F8h           #1 
  150.         Auto TX flag                    0               off 
  151.         Auto RX flag                    0               off 
  152.         Speaker flag                    0               off 
  153.         Upper screen color attribute    30              yel/blu
  154.         Lower screen color attribute    31              h-wht/blu
  155.         Review buffer color attribute   31              h-wht/blu
  156.         Window color attribute          112             blk/wht
  157.         Window border color attribute   116             red/wht
  158.         Status line color attribute     79              h-wht/red
  159.         Tx Dot length                   30 
  160.         Tx Dash length                  90 
  161.         Tx Element space                30 
  162.         Tx Character space              90 
  163.         Tx Word space                   120 
  164.         Rx Dot average length           30 
  165.         Rx Dash average length          90 
  166.         Rx Element average length       30 
  167.         Tx Variable dot                 30 
  168.         Tx Variable element space       30 
  169.                                         00
  170.  
  171. 3
  172. COMMAND SUMMARY 
  173.  
  174. The following commands are available from CW 
  175.  
  176. F1      Display Help # 1
  177. F2      Toggle Output to Printer - on/off
  178. F3      Toggle Capture function - on/off
  179. F4      Display Disk Directory
  180. F5      Toggle TX Source - Keyboard/Send File
  181. F6      Transfer Selected Message to Xmt Buffer 
  182. F7      Toggle RX speed mode - Track/Manual
  183. F8      Toggle TX speed mode - Manual/Lock RX speed
  184. F9      Toggle Speaker - on/off
  185. F10     Toggle Mode - TX/RX 
  186.  
  187. Shf-F1  Display Help # 2
  188. Shf-F6  Preview Selected Message on Lower Screen
  189. Shf-F7  Select RX speed LOCK mode
  190. Shf-F8  Toggle TX speed mode - Fixed/Manual 
  191.  
  192. Alt-F1  Display Help # 3
  193. Alt-F3  Toggle Capture File - open/close
  194. Alt-F4  Change Drive\Path
  195. Alt-F5  Toggle Send File - open/close or restart
  196. Alt-F6  Toggle Selected Message - Load/Finish
  197. Alt-F10 Toggle TX Control auto/manual 
  198.  
  199. Ctl-F1  Display Help # 4
  200. Ctl-F3  Save Review Buffer
  201. Ctl-F4  Delete Disk File 
  202. Ctl-F5  Clear Keyboard Buffer
  203. Ctl-F6  Save Messages to Disk
  204. Ctl-F8  Create a Fixed Tx Speed Overlay File
  205. Ctl-F10 Toggle RX Control auto/manual 
  206.                 
  207. Alt-1   Select Message # 1
  208. Alt-2   Select Message # 2
  209. Alt-3   Select Message # 3
  210. Alt-4   Select Message # 4
  211. Alt-5   Select Message # 5
  212. Alt-6   Select Message # 6
  213. Alt-7   Select Message # 7
  214. Alt-8   Select Message # 8
  215. Alt-9   Select Message # 9
  216. Alt-0   Select Message # 10 
  217.         
  218. Alt-C   Select Color Attributes
  219. Alt-K   Program key sequences
  220. Alt-P   Select CW I/O port
  221. Alt-X   Exit  
  222.  
  223. Up Arrow        Increase TX speed
  224. Pg Up           Increase RX speed
  225. Left Arrow      Decrease TX weight
  226. Right Arrow     Increase TX weight
  227. Down Arrow      Decrease TX speed
  228. Pg Dn           Decrease RX speed
  229. Insert          Display review buffer
  230. Delete          Exit review buffer display 
  231.  
  232. 4
  233. All characters that are displayed on the upper screen are saved in the 
  234. "review" buffer.  Once the screen is full and data has scrolled off the top of 
  235. the screen this buffer may be displayed by pressing the Insert key then 
  236. scrolling through it by using the Home, Up-Arrow, Pg-Up, End, Down-Arrow or 
  237. Pg-Dn keys. Upon entry the current (newest) page remains on the screen. The 
  238. Up-Arrow key will display the previous line and depending on the data 
  239. available in the buffer the Pg-Up will display all or part of the previous 
  240. page. The Home key will display one page starting with the oldest available 
  241. data in the buffer. The Down-Arrow key will display the next line and 
  242. depending on current position the Pg-Dn key will display all or part of the 
  243. next page. The End key will display one page ending with the newest data in 
  244. the buffer. The console bell will sound and entry will not be allowed if the 
  245. screen is not full or scrolling past buffer ends is attempted. The Del key 
  246. will exit the review mode.  
  247.  
  248. F1 (Help) Key Functions: F1 will display Help menu # 1 on the lower screen. 
  249. This menu includes Help Subjects, Printer Control and Capture Functions. Shf-
  250. F1 will display Help menu # 2 on the lower screen. This menu includes Disk 
  251. Functions, Send Data Functions and Message Functions. Alt-F1 will display Help 
  252. menu # 3 on the lower screen. This menu includes Rx and Tx Speed Mode and 
  253. Control Functions. Ctl-F1 will display Help menu # 4 on the lower screen. This 
  254. menu includes Speaker Control, Rx and Tx Control Functions and Other 
  255. Functions. 
  256.  
  257. F2 (Toggle) will turn on data output to the Printer. In this mode all data 
  258. that is displayed on the upper screen will also output to the Printer. A 
  259. carriage return and a line feed ASCII character sequence is inserted in the 
  260. data stream causing printer response at the end of each upper screen line. 
  261. Pressing F2 again will output carriage return and a line feed ASCII character 
  262. sequence and cut off data output to the Printer. 
  263.  
  264. F3 (Capture) Key Functions: 
  265.  
  266. F3 (Toggle) will turn on the Capture function. In this mode all data that is 
  267. displayed on the upper screen is saved in the Capture buffer. The contents of 
  268. the Capture buffer will automatically be written to disk whenever the buffer 
  269. is full. Pressing F3 again will turn off the Capture function. 
  270.  
  271. Alt-F3 (Toggle) will display a file name prompt to open a Capture file. A new 
  272. file name will cause a new file to be created. If the file name exist a prompt 
  273. will be displayed. Available options are: (ESC key) to abort, (E) to erase the 
  274. existing file and start a new file or (A) to append new data to the existing 
  275. file. Once this file is open the Capture function controlled by the F3 key is 
  276. allowed. Pressing Alt-F3 again will turn off the Capture function, write the 
  277. contents of the Capture buffer to the disk and close the Capture file. 
  278.  
  279. Ctl-F3  will display a file name prompt to specify a file to write the entire 
  280. contents of the review buffer to a disk. A new file name will cause a new file 
  281. to be created. If the file name exist a prompt will be displayed. Available 
  282. options are: (ESC key) to abort, (E) to erase the existing file and start a 
  283. new file or (A) to append new data to the existing file. 
  284.  
  285. F4 (Disk) Key Functions: 
  286.  
  287. F4 will cause the current directory file names to be displayed on the lower 
  288. screen. If more are in the directory than can be displayed a prompt is 
  289. displayed indicating that F4 can be used again to display more. Any key will 
  290. return to the normal lower screen. Program operation can continue during 
  291. directory display. 
  292.  
  293. 5
  294. Alt-F4 will cause the current drive and directory to be displayed on the lower 
  295. screen followed by a prompt to change the drive or the directory. To change 
  296. the current drive enter a valid drive letter followed by a colon and return. 
  297. The new drive and directory will be displayed. A non valid drive specification 
  298. will cause an error message. To change the directory on the current drive 
  299. enter a \ followed by the directory path and return. the new drive and 
  300. directory will be displayed. ESC may be used to abort.    
  301.  
  302. Ctl-F4 will display a file name prompt to specify a file to delete a disk 
  303. file. (ESC) can be used to abort. 
  304.  
  305. F5 (Send) Key Functions: 
  306.  
  307. F5 (Toggle) will turn on the Send File function. In this mode data contained 
  308. in the Send buffer is transmitted instead of data from the keyboard buffer. 
  309. The disk will automatically be read as required whenever the buffer is empty 
  310. until the end of file is reached. Pressing F5 again will turn off the Send 
  311. File function returning to transmission from the keyboard buffer. 
  312.  
  313. Alt-F5 (Toggle) will display a file name prompt to open a file for subsequent 
  314. transmission. Once this file is open the disk will automatically be read to 
  315. transfer initial file data to a buffer and TX source selection controlled by 
  316. the F5 key is allowed. Pressing Alt-F5 again will display a prompt. Options 
  317. are to turn off the end file function and close the send file, reset the send 
  318. file pointer to the beginning of the file for a restart or continue with the 
  319. send file open. 
  320.  
  321. Ctl-F5 Clears the keyboard buffer. 
  322.  
  323. F6 (Message) Key Functions: 
  324.  
  325. F6 will transfer the current selected message (if ready) to the transmit 
  326. buffer. 
  327.  
  328. Shf-F6  will display a preview of the current selected message (if ready) on 
  329. the lower screen. 
  330.  
  331. Alt-F6 will allow the operator to enter a new message into the currently 
  332. Selected Message buffer. Upon pressing Alt-F6 a prompt is displayed on the 
  333. lower screen. Options are (ESC) to abort or (Enter) to start loading indicated 
  334. by the selected message status display changing from "Empty" or "Ready" to 
  335. "Load". The message may then be entered from the keyboard. All special 
  336. character sequence keys may be used. The console bell will sound if another 
  337. input character or character sequence causes the buffer to become full. Upon 
  338. completion the Alt-F6 key must be pressed again to end the load process. The 
  339. status display will change from "Load" to "Ready".  If nothing was entered it 
  340. will change to "Empty". 
  341.  
  342. Ctl-F6 will write all ten message buffers to a disk file named "CW_MSG.DAT". 
  343. This disk file is read and loads all 10 message buffers upon program 
  344. initialization. 
  345.  
  346. F7 (Rx Speed) Key Functions: 
  347.  
  348. F7 (Toggle) will change the RX speed control mode from Track to Manual. 
  349. Pressing F7 again will return the Rx speed control mode from Manual to Track. 
  350. In track Rx speed mode Rx speed follows the speed of the received CW signal. 
  351. To prevent received noise from a receiver not tuned to a CW signal from 
  352. driving the track mode Rx speed out of range the mode will switch to manual 
  353. mode if the track Rx speed exceeds approximately 85 WPM. In manual Rx speed 
  354. 6
  355. mode Rx speed is controlled from the keyboard. 
  356.  
  357. Shf-F7 will change the Rx speed control mode from Track or Manual to Lock. 
  358. This Rx speed mode performs Rx speed Lock function by measuring the next 16 CW 
  359. pulses then calculating and setting a new Rx speed. Upon completion of the Rx 
  360. speed Lock process the Rx speed mode is automatically returned to Track.  
  361.  
  362. F8 (Tx Speed) Key Functions: 
  363.  
  364. F8 (Toggle) will change the Tx speed control mode from Manual to Lock Receiver 
  365. Tx speed control mode. In this mode the transmit code speed will change to and 
  366. will follow the current receiver code speed. Pressing F8 again will return the 
  367. Tx speed control mode to Manual allowing the transmit code speed to be 
  368. controlled from the keyboard.        
  369.  
  370. Shf-F8 (Toggle) will change the Tx speed control mode from Manual or Lock 
  371. Receiver to Fixed Tx speed control mode. In this mode the operator is prompted 
  372. to enter the desired fixed transmit code speed. Pressing Alt-F8 again will 
  373. return the Tx speed control mode to Manual allowing the transmit code speed to 
  374. be controlled from the keyboard. The default fixed speeds are: S5, f5, 7.5, 
  375. 10, 13, 15, 18, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65 and 70 WPM. Slow fixed 
  376. speeds use expanded spacing. As an example the dot, dash and element space of 
  377. s5 (slow 5) are at a 13 WPM rate with character and word spacing expanded to 
  378. produce an overall 5 WPM rate described as 13e5. Similarly f5 (fast 5) is 
  379. 16e5, 7.5 is 16e7.5 and 10 is 16e10. Speeds from 13 to 70 WPM use normal 
  380. spacing.                         
  381.  
  382. Ctl-F8 will display a prompt on the lower screen. The operator may press ENTER 
  383. to create a fixed tx speed overlay file on the default drive or may abort by 
  384. pressing any other key. Upon initial creation this file, CW_FXS.OVL will 
  385. contain the default fixed tx speed control data used by the program when 
  386. operated in fixed speed mode. Upon CW program initialization a check on the 
  387. default drive is performed to see if CW_FXS.OVL exist. If it does not exist, 
  388. the operator is informed that the  fixed tx speed overlay is not loaded. In 
  389. this case the default fixed tx speed control data are used. If it does exist 
  390. then it is read from the disk replacing the default fixed tx speed control 
  391. data and the operator is informed that fixed tx speed overlay is loaded. This 
  392. program feature allows of the fixed tx speed data to changed by editing the 
  393. overlay file. See further discussion in the file CW_FXS.DOC. 
  394.  
  395. F9 (Toggle) will toggle the speaker on and off. When the speaker is on both 
  396. receive and transmit morse code elements may be heard. 
  397.  
  398. F10 Key Functions: 
  399.  
  400. F10 (Toggle) will toggle the operating mode. In receive mode CW input is 
  401. decoded for display and input to buffers and the transmitter control output 
  402. signal is off. In transmit mode the transmitter control output signal is on 
  403. and data from the transmit buffer is encoded and transmitted until the buffer 
  404. is empty. 
  405.  
  406. Alt-F10 (Toggle) will toggle the TX control mode. In Automatic the operating 
  407. mode is switched from receive to transmit upon data becoming available in the 
  408. transmit buffer. Manual TX mode allows the operator to pretype TX data prior 
  409. to transmission. 
  410.  
  411. Ctl-F10 (Toggle) will toggle the RX control mode. In automatic the operating 
  412. mode is switched from transmit to receive upon the the transmit buffer 
  413. becoming empty. Manual RX mode allows the operator to hold the transmitter on 
  414. during pauses of CW data transmission. 
  415.  
  416. 7
  417. Alt-1 thru Alt-9 and Alt-0 keys select the current of ten 256 maximum 
  418. character message buffers. The message status display will indicate the 
  419. selected message number followed by "Ready" if the selected message buffer 
  420. contains data or "Empty" if it has not been loaded.   
  421.  
  422. Alt-C will display a line on the lower screen indicating the  six current 
  423. color attributes in use. (1) Upper screen, (2) Lower screen, (3) Review Buffer 
  424. screen, (4) Window, (5) Window Border and (6) Status Lines. A prompt is 
  425. displayed to enter changes in the format: N=xx. N is one of the six indicated 
  426. screen areas. The attribute xx can be any number 0 thru 127. Refer to the disk 
  427. file on the distribution disk "coloratt.doc" for a complete listing. The new 
  428. color is displayed on the line upon selection. If it is not the desired select 
  429. again. When finished press ENTER to reinitialize all screen display and return 
  430. to the program. Pressing ESC at any time will abort cause return to the 
  431. program with no changes. Alt-C will not operate in video mode 7 MONO.    
  432.  
  433. Alt-K will prompt the operator to select a key for the purpose of entering a 
  434. new key sequence. Any of the following may be used. After a key is selected 
  435. pressing return will prompt the operator to enter a character sequence. The 
  436. maximum length of sequences may be up to 23 characters long. Another return 
  437. will prompt the operator for Yes/No to save the new sequence to disk. If Yes 
  438. is selected the sequence is written to a disk file CW_KCS.DAT. This file is 
  439. read to memory upon program initialization. If No is selected the sequence can 
  440. be used during the current session. 
  441.  
  442.         '&' Ampersand key            =  ES 
  443.         ''' Apostrophe key           =  CQ 
  444.         '(' Open Parenthesis key     =  QTH 
  445.         ')' Close Parenthesis key    =  (STATION LOCATION) 
  446.         '*' Asterisk key             =  DX 
  447.         '+' Plus sign key            = 
  448.         ':' Colon key                =  73 
  449.         ';' Semicolon                = 
  450.         '<' Less than key            =  DE 
  451.         '=' Equal sign key           =  RST 
  452.         '>' Greater than key         =  (CALL SIGN) 
  453.         '@' At sign key              =  TEST 
  454.         '[' Open brackets            = 
  455.         '\' Reverse alash            = 
  456.         ']' Close brackets           = 
  457.         '^' Up Arrow key             =  QSL 
  458.         '_' Underscore               = 
  459.         '`' Grave accent             = 
  460.         '{' Left brace               = 
  461.         '|' Vertical bar             = 
  462.         '}' Right brace              = 
  463.         '~' Tilde                    = 
  464.  
  465. Alt-P will display the currently selected CW I/O port (1), (2) or (E) and a 
  466. prompt on the lower screen. (E) indicates an error condition. Options are (1) 
  467. to select serial port #1 (3F8h), (2) to select serial port #2 (2F8h) or 
  468. (ENTER) to return to the CW program with the current displayed port selected. 
  469.   
  470. Alt-X will display the "Exit CW Program ?" prompt. Options are (Y) for yes, 
  471. (S) to save the config data first and (N) or any key to return to the CW 
  472. program. 
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.